// idphoto.js
Page({
  data: {
    imagePath: '',
    processedImagePath: '',
    processing: false,
    photoSpecs: [
      { id: 'one_inch', name: '一寸', width: 295, height: 413, desc: '25mm×35mm' },
      { id: 'two_inch', name: '二寸', width: 413, height: 579, desc: '35mm×49mm' },
      { id: 'small_two_inch', name: '小二寸', width: 413, height: 531, desc: '35mm×45mm' },
      { id: 'passport', name: '护照', width: 413, height: 531, desc: '33mm×48mm' },
      { id: 'visa', name: '签证', width: 413, height: 531, desc: '33mm×48mm' }
    ],
    selectedSpec: 'one_inch',
    bgColors: [
      { color: '#FFFFFF', name: '白色' },
      { color: '#FF0000', name: '红色' },
      { color: '#0000FF', name: '蓝色' },
      { color: '#87CEEB', name: '淡蓝色' }
    ],
    selectedBgColor: '#FFFFFF'
  },

  onLoad() {
    console.log('证件照制作页面加载');
  },

  // 选择图片
  chooseImage() {
    wx.chooseMedia({
      count: 1,
      mediaType: ['image'],
      sourceType: ['album', 'camera'],
      success: (res) => {
        const tempFilePath = res.tempFiles[0].tempFilePath;
        
        this.setData({
          imagePath: tempFilePath,
          processedImagePath: ''
        });
        
        console.log('选择的图片：', tempFilePath);
      }
    });
  },

  // 选择证件照规格
  selectPhotoSpec(e) {
    const spec = e.currentTarget.dataset.spec;
    this.setData({
      selectedSpec: spec,
      processedImagePath: ''
    });
  },

  // 选择背景颜色
  selectBgColor(e) {
    const color = e.currentTarget.dataset.color;
    this.setData({
      selectedBgColor: color,
      processedImagePath: ''
    });
  },

  // 制作证件照
  makeIdPhoto() {
    if (!this.data.imagePath) {
      wx.showToast({
        title: '请先选择图片',
        icon: 'none'
      });
      return;
    }

    this.setData({
      processing: true
    });

    // 这里应该调用实际的证件照制作API，这里使用模拟处理
    // 注意：实际项目中应该使用专业的证件照制作API或服务
    setTimeout(() => {
      // 模拟处理完成
      this.simulateMakeIdPhoto();
    }, 2000);
  },

  // 模拟证件照制作（实际项目中应替换为真实API）
  simulateMakeIdPhoto() {
    // 在实际项目中，这里应该调用专业的证件照制作API
    // 例如百度AI、腾讯云AI或其他第三方服务
    
    // 模拟处理结果
    const processedPath = this.data.imagePath; // 实际应该是处理后的新图片路径
    
    this.setData({
      processedImagePath: processedPath,
      processing: false
    });
    
    wx.showToast({
      title: '制作成功',
      icon: 'success'
    });
  },

  // 保存证件照
  saveIdPhoto() {
    if (!this.data.processedImagePath) {
      wx.showToast({
        title: '请先制作证件照',
        icon: 'none'
      });
      return;
    }

    wx.saveImageToPhotosAlbum({
      filePath: this.data.processedImagePath,
      success: () => {
        wx.showToast({
          title: '保存成功',
          icon: 'success'
        });
      },
      fail: (err) => {
        console.error('保存失败：', err);
        
        if (err.errMsg.indexOf('auth deny') >= 0) {
          wx.showModal({
            title: '提示',
            content: '需要您授权保存图片到相册',
            confirmText: '去授权',
            success: (res) => {
              if (res.confirm) {
                wx.openSetting({
                  success: (settingRes) => {
                    console.log('设置结果：', settingRes);
                  }
                });
              }
            }
          });
        } else {
          wx.showToast({
            title: '保存失败',
            icon: 'none'
          });
        }
      }
    });
  },

  // 获取当前选择的规格信息
  getCurrentSpecInfo() {
    return this.data.photoSpecs.find(spec => spec.id === this.data.selectedSpec);
  },

  // 打印多张证件照
  printMultiplePhotos() {
    if (!this.data.processedImagePath) {
      wx.showToast({
        title: '请先制作证件照',
        icon: 'none'
      });
      return;
    }

    wx.showToast({
      title: '打印功能开发中',
      icon: 'none'
    });
  }
});
